<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="utf-8">
    <meta name="author" content="Wangrui">
    <title>动画</title>
    <style>
        div{
            width: 100px;
            height: 100px;
            background-color: rebeccapurple;
            position: absolute;
            top: 0;
            left: 0;
        }
    </style>
</head>
<body>
    <div></div>
</body>
</html>
<script>
    
    // 请求动画帧
    window.requestAnimationFrame 
    = window.requestAnimationFrame ||
      window.mozRequestAnimationFrame ||
      window.webkitRequestAnimationFrame ||
      window.msRequestAnimationFrame;

    var div = document.querySelector('div');
    var start = null;

    // times是一个时间参数，单位：毫秒
    // 表示当前时间距离出发 requestAnimationFrame 的回调时间
    function step(times){
        
        if(start == null){
            start = times;
        }
        var value = times - start;
        console.log(value);

        div.style.left = Math.min(value/10,2000)  + 'px';
        // 最终让div停在某个位置
        if(value < 3000){
            requestAnimationFrame(step);
        }
    }
    requestAnimationFrame(step);

    // Math.max()返回表达式中的最大值
    // Math.min()返回表达式中的最小值
    // Math.min(value/10,2000)
</script>